/**
 * <h1>装饰模式（Decorator）</h1>
 * <pre>
 * 装饰模式就是给一个对象增加一些新的功能，而且是动态的，要求装饰对象和被装饰对象实现同一个接口，装饰对象持有被装饰对象的实例
 * 
 * 装饰模式和代理模式的区别：
 * 使用代理模式，代理和真实对象之间的的关系通常在编译时就已经确定了，而装饰者能够在运行时递归地被构造
 * </pre>
 * @author: chaoyang.ren
 * @date:Jul 4, 2017
 * @time:2:17:49 PM
 * @email:chaoyang.ren@foxmail.com
 * @version: 1.0
 */
package pattern.structural.decorator;